package com.hundsun.yr.universal.p2p.bean.enums;





/**
 * @Title: EnumProtocol.java 
 * @Description: 协议枚举
 * @date 2016-3-21 下午7:50:23 
 * @author:hejun.shen
 * @email:shenhj15971@hundsun.com 
 * @replace author:
 * @replace date:
 * @version V1.0   
 */
public enum EnumProtocol {
	
	/** 注册协议 */
	REGIST_PROTOCOL("1", "注册协议"),
	/** 投资协议 */
	UNDERGRADUATE("2", "投资协议"),
	/** 转让协议*/
	TRANSFER_PROTOCOL("3", "转让协议"),
	/** 风险揭示书*/
	RISK_DISCLOSURE("4", "风险揭示书"),
	/** 法律声明*/
	LEGAL_DECLARATION("5", "法律声明"),
	/** 合伙人协议*/
	PARTNER_PROTOCOL("6", "合伙人协议"),
	/** 业务员管理协议*/
	SERVICE_MANAGEMENT_PROTOCOL("7", "业务员管理协议"),
	/** 托管协议*/
	TRUSTEESHIP_PROTOCOL("8", "托管协议"),
	/** 借款服务协议*/
	LOAN_SERVICE_PROTOCOL("9", "借款服务协议"),
	/**借款授权协议**/
	LOAN_AUTHORIZATION_PROTOCOL("10","借款授权协议"),
	/**托管授权协议**/
	TRUSTEESHIP_AUTHORIZATION_PROTOCOL("11","托管授权协议"),
	/** 帮助中心*/
	HELP("help", "帮助中心");
	
	private String code;

	private String description;

	private EnumProtocol(String code, String description) {

		this.code = code;
		this.description = description;

	}

	/**
	 * 根据支付模式代码获取支付枚举
	 * 
	 * @param code 支付模式代码
	 * @return 支付枚举实例
	 */
	public static EnumProtocol find(String code) {

		for (EnumProtocol payMode : EnumProtocol.values()) {
			if (payMode.getCode().equals(code)) {
				return payMode;
			}
		}
		return null;
	}
	
	/**
     * 根据枚举代码查找描述
     * 
     * @param status 枚举
     * @return String
     **/
    public static String getDescription(String code) {
    	for (EnumProtocol frs : EnumProtocol.values()) {
            if (frs.code.equals(code)) {
                return frs.description;
            }
        }
		return code;
    }

	/**
	 * @return 支付模式代码
	 */
	public String getCode() {
		return code;
	}

	/**
	 * @return 支付模式信息
	 */
	public String getDescription() {
		return description;
	}
	
	
	/**
	 * 获取枚举CODE
	 * @param mEnum
	 * @return
	 */
	public static String findCode(EnumProtocol mEnum){
		for (EnumProtocol frs : EnumProtocol.values()) {
            if (frs.code.equals(mEnum)) {
                return frs.code;
            }
        }
		return mEnum.code;
	}

}
